package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 加分项对象 plus_grade_item
 *
 * @author 王清江
 * @date 2021-01-31
 */
public class PlusGradeItem extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 加分项ID
     */
    private Long plusGradeItemId;

    /**
     * 加分项荣誉数据ID
     */
    @Excel(name = "加分项荣誉数据ID")
    private Long plusGradeItemGloryId;

    /**
     * 加分项荣誉标签
     */
    @Excel(name = "加分项荣誉标签")
    private String plusGradeItemGloryLabel;
    /**
     * 加分项获得时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "加分项获得时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plusGradeItemTime;

    /**
     * 加分项存储URL
     */
    @Excel(name = "加分项存储URL")
    private String plusGradeItemUrl;

    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    private Long userId;

    /**
     * 冗余分数
     */
    @Excel(name = "冗余分数")
    private BigDecimal gloryGrade;

    /**
     * 学院状态（0正常 1停用）
     */
    @Excel(name = "学院状态", readConverterExp = "0=正常,1=停用")
    private String statusCollege;

    /**
     * 学生处状态（0正常 1停用）
     */
    @Excel(name = "学生处状态", readConverterExp = "0=正常,1=停用")
    private String statusOffice;

    /**
     * 这个deptId仅仅用来封装查询。
     */
    private Long deptId;

    /**
     * 仅用于接收数据库回传
     */
    private String userName;

    /**
     * 仅用于接收数据库回传的昵称
     */
    private String nickName;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setPlusGradeItemId(Long plusGradeItemId) {
        this.plusGradeItemId = plusGradeItemId;
    }

    public Long getPlusGradeItemId() {
        return plusGradeItemId;
    }

    public void setPlusGradeItemGloryId(Long plusGradeItemGloryId) {
        this.plusGradeItemGloryId = plusGradeItemGloryId;
    }

    public Long getPlusGradeItemGloryId() {
        return plusGradeItemGloryId;
    }

    public void setPlusGradeItemTime(Date plusGradeItemTime) {
        this.plusGradeItemTime = plusGradeItemTime;
    }

    public Date getPlusGradeItemTime() {
        return plusGradeItemTime;
    }

    public void setPlusGradeItemUrl(String plusGradeItemUrl) {
        this.plusGradeItemUrl = plusGradeItemUrl;
    }

    public String getPlusGradeItemUrl() {
        return plusGradeItemUrl;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setGloryGrade(BigDecimal gloryGrade) {
        this.gloryGrade = gloryGrade;
    }

    public BigDecimal getGloryGrade() {
        return gloryGrade;
    }

    public void setStatusCollege(String statusCollege) {
        this.statusCollege = statusCollege;
    }

    public String getStatusCollege() {
        return statusCollege;
    }

    public void setStatusOffice(String statusOffice) {
        this.statusOffice = statusOffice;
    }

    public String getStatusOffice() {
        return statusOffice;
    }

    public String getPlusGradeItemGloryLabel() {
        return plusGradeItemGloryLabel;
    }

    public void setPlusGradeItemGloryLabel(String plusGradeItemGloryLabel) {
        this.plusGradeItemGloryLabel = plusGradeItemGloryLabel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("plusGradeItemId", getPlusGradeItemId())
                .append("plusGradeItemGloryId", getPlusGradeItemGloryId())
                .append("plusGradeItemGloryLabel", getPlusGradeItemGloryLabel())
                .append("plusGradeItemTime", getPlusGradeItemTime())
                .append("plusGradeItemUrl", getPlusGradeItemUrl())
                .append("userId", getUserId())
                .append("gloryGrade", getGloryGrade())
                .append("statusCollege", getStatusCollege())
                .append("statusOffice", getStatusOffice())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
